package com.xbongbong.workflow.pojo.nodes;

import com.xbongbong.workflow.pojo.WorkflowOperationsPojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * @author chenpeng
 * @version 1.0
 * @date 2021-05-10 15:30
 * @description 更新记录节点
 */
@Getter
@Setter
@ToString
public class UpdateRecordNode implements Serializable {

    private static final long serialVersionUID = -1643412657719914181L;
    /**
     * 更新的对象：工作节点id
     */
    private Long workflowNodeId;

    /**
     * 字段是否是触发节点字段的标识，0:不是；1:是
     *
     */
    @NotNull(message = "{dto.msg.triggerNodeFlag.NotNull}")
    private Integer triggerNodeFlag;

    /**
     * 更新方式：1为仅更新；2：更新和新增
     * 当为2时，则表示可以对子表单进行插入
     */
    private Integer updateMethod;
    /**
     * 插入字段的json
     */
    @NotEmpty(message = "{dto.msg.operations.NotEmpty}")
    @Size(max = 30, message = "{pojo.msg.ActiveRule.rulePojo.operations.Size}")
    private List<WorkflowOperationsPojo> operations;

    /**
     * 触发表单的数据来源是编辑前还是编辑后；上一个节点编辑前数据：0；上一个节点编辑后数据：1；触发事件编辑前数据：2
     */
    private Integer editedData;
}
